package org.jeecg.modules.inventory.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @Description: 库存管理
 * @Author: jeecg-boot
 * @Date:   2024-07-01
 * @Version: V1.0
 */
@ApiModel(value="buss_inventory对象", description="库存管理")
@Data
@TableName("buss_inventory")
public class BussInventory implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
	/**仓库*/
	@Excel(name = "仓库", width = 15, dictTable = "erp_warehouse", dicText = "name", dicCode = "id")
    @Dict(dictTable = "erp_warehouse", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "仓库")
    private String warehouseId;
	/**物料分类*/
	@Excel(name = "物料分类", width = 15, dictTable = "erp_goods_category", dicText = "name", dicCode = "code")
    @Dict(dictTable = "erp_goods_category", dicText = "name", dicCode = "code")
    @ApiModelProperty(value = "物料分类")
    private String categoryCode;
	/**物料状态*/
	@Excel(name = "物料状态", width = 15, dicCode = "dict_item_status")
    @Dict(dicCode = "dict_item_status")
    @ApiModelProperty(value = "物料状态")
    private String status;
	/**物料ID*/
	@Excel(name = "物料ID", width = 15)
    @ApiModelProperty(value = "物料ID")
    private String materialId;
	/**物料编号*/
	@Excel(name = "物料编号", width = 15)
    @ApiModelProperty(value = "物料编号")
    private String materialCode;
	/**物料名称*/
	@Excel(name = "物料名称", width = 15)
    @ApiModelProperty(value = "物料名称")
    private String materialName;
	/**客户物料编号*/
	@Excel(name = "客户物料编号", width = 15)
    @ApiModelProperty(value = "客户物料编号")
    private String customerMaterialCode;
	/**规格型号*/
	@Excel(name = "规格型号", width = 15)
    @ApiModelProperty(value = "规格型号")
    private String noneSpec;
	/**主计量单位*/
	@Excel(name = "主计量单位", width = 15, dicCode = "ji_unit")
    @Dict(dicCode = "ji_unit")
    @ApiModelProperty(value = "主计量单位")
    private String meUnit;
	/**月份*/
	@Excel(name = "月份", width = 15)
    @ApiModelProperty(value = "月份")
    private String month;
	/**本期收到数量*/
	@Excel(name = "本期收到数量", width = 15)
    @ApiModelProperty(value = "本期收到数量")
    private java.math.BigDecimal receivedQuantity;
	/**本期发出数量*/
	@Excel(name = "本期发出数量", width = 15)
    @ApiModelProperty(value = "本期发出数量")
    private java.math.BigDecimal issuedQuantity;
	/**期末余额数量*/
	@Excel(name = "期末余额数量", width = 15)
    @ApiModelProperty(value = "期末余额数量")
    private java.math.BigDecimal endingBalanceQuantity;
	/**期初余额数量*/
	@Excel(name = "期初余额数量", width = 15)
    @ApiModelProperty(value = "期初余额数量")
    private java.math.BigDecimal openingBalanceQuantity;
	/**库存数量*/
	@Excel(name = "库存数量", width = 15)
    @ApiModelProperty(value = "库存数量")
    private java.math.BigDecimal quantity;
	/**辅助单位*/
	@Excel(name = "辅助单位", width = 15, dicCode = "zl_unit")
    @ApiModelProperty(value = "辅助单位")
    private String auUnit;
	/**辅助数量*/
	@Excel(name = "辅助数量", width = 15)
    @ApiModelProperty(value = "辅助数量")
    private java.math.BigDecimal auxiliaryQuantity;
	/**在库数量*/
	@Excel(name = "在库数量", width = 15)
    @ApiModelProperty(value = "在库数量")
    private java.math.BigDecimal inStockQuantity;
	/**待质检数量*/
	@Excel(name = "待质检数量", width = 15)
    @ApiModelProperty(value = "待质检数量")
    private java.math.BigDecimal inStorageQuantity;
	/**扣货数量*/
	@Excel(name = "扣货数量", width = 15)
    @ApiModelProperty(value = "扣货数量")
    private java.math.BigDecimal frozenQuantity;
	/**占用数量*/
	@Excel(name = "占用数量", width = 15)
    @ApiModelProperty(value = "占用数量")
    private java.math.BigDecimal occupationQuantity;
	/**可用数量*/
	@Excel(name = "可用数量", width = 15)
    @ApiModelProperty(value = "可用数量")
    private java.math.BigDecimal availableQuantity;
	/**备用字段一*/
	@Excel(name = "备用字段一", width = 15)
    @ApiModelProperty(value = "备用字段一")
    private String spareOne;
	/**备用字段二*/
	@Excel(name = "备用字段二", width = 15)
    @ApiModelProperty(value = "备用字段二")
    private String spareTwo;
	/**备用字段三*/
	@Excel(name = "备用字段三", width = 15)
    @ApiModelProperty(value = "备用字段三")
    private String spareThree;
	/**备用字段四*/
	@Excel(name = "备用字段四", width = 15)
    @ApiModelProperty(value = "备用字段四")
    private String spareFour;
	/**备用字段五*/
	@Excel(name = "备用字段五", width = 15)
    @ApiModelProperty(value = "备用字段五")
    private String spareFive;
	/**是否有采购订单*/
	@Excel(name = "是否有采购订单", width = 15)
    @ApiModelProperty(value = "是否有采购订单")
    private String isHaveOrder;
    /**订单ID*/
    @Excel(name = "订单ID", width = 15)
    @ApiModelProperty(value = "订单ID")
    private String orderId;

    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;

    /**不合格数量*/
    @Excel(name = "不合格数量", width = 15)
    @ApiModelProperty(value = "不合格数量")
    private java.math.BigDecimal inTransitQuantity;
}
